package com.kang.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.kang.pojo.ReturnRequest;
import com.vonechina.entity.page.ReturnRequestPage;

/**
 * 退货申请持久层
 * 
 * @author zs614
 *
 */
public interface ReturnRequestMapper {
	/**
	 * 查询退货申请最大编码
	 * 
	 * @return
	 */
	public String selectMaxCode();

	/**
	 * 删除退货申请
	 * 
	 * @param returnRequestID
	 *            退货申请ID
	 * @return
	 */
	public int deleteByPrimaryKey(Integer returnRequestID);

	/**
	 * 新增退货申请
	 * 
	 * @param request
	 *            退货申请实体类
	 * @return
	 */
	public int insertSelective(ReturnRequest request);

	/**
	 * 通过ID查询退货申请
	 * 
	 * @param returnRequestID
	 *            退货申请ID
	 * @return
	 */
	public ReturnRequest selectByPrimaryKey(Integer returnRequestID);

	/**
	 * 更新退货申请
	 * 
	 * @param request
	 *            退货申请实体类
	 * @return
	 */
	public int updateByPrimaryKeySelective(ReturnRequest request);

	/**
	 * 提交退货申请
	 * 
	 * @param request
	 *            退货申请实体类
	 * @return
	 */
	public int submitByPrimaryKey(ReturnRequest request);

	/**
	 * 分页查询退货申请
	 * 
	 * @param page
	 *            查询条件实体类
	 * @return
	 */
	public List<ReturnRequest> listReturnRequest(ReturnRequestPage page);

	/**
	 * 查询退货申请数量
	 * 
	 * @param page
	 *            查询条件实体类
	 * @return
	 */
	public int countReturnRequest(ReturnRequestPage page);

	/**
	 * 更新退货申请状态
	 * 
	 * @param returnRequestID
	 *            退货申请ID
	 * @param status
	 *            状态
	 * @return
	 */
	public int updateStatus(@Param("returnRequestID") Integer returnRequestID, @Param("status") Integer status);

}